从 XHTML 到 HTML5
史博辉 2022-10-16 17:04:00 html
虽然 W3C 努力为 HTML 制订规范,但由于绝大部分编写 HTML 页面的人并没有受过专业训练,他们对 HTML 规范、XHTML 规范也不甚了解,所以他们制作的 HTML 网页绝大部分都没有遵守 HTML 规范。大量调查表明,即使在一些比较正规的网站中,也很少有网站能通过验证。例如2008年,一项关于 Alexa 全球500强网站的调查表明,仅有6.57%的网站能通过 HTML 规范验证。如果把那些名不见经传的小网站考虑在内,整个互联网上就几乎都是不符合规范的 HTML 页面。
虽然互联网上绝大部分 HTML 页面都是不符合规范的,但各种浏览器却可以正常解析、显示这些页面,在这样的局面下,HTML 页面的制作者甚至感觉不到遵守 HTML 规范的意义。于是出现了一种非常尴尬的局面:一方面,W3C 组织“声嘶力竭”地呼吁大家应该制作遵守规范的 HTML 页面;另一方面,HTML 页面制作者却根本不太理会这种呼吁。
现有的 HTML 页面大量存在如下4种不符合规范的内容:
- 元素的标签名大小写混杂的情况。比如只有<p>HTML</P>,这个<p.../>元素的开始标签和结束标签采用了大小写不匹配的字符。
- 元素没有合理结束的情况。比如只有<p>标签,没有</p>结束标签。
- 元素中使用了属性,但没有指定属性值的情况。比如<input type="text" disabled>。
- 为元素的属性指定属性值时没有使用引号的情况。比如<input type=text>。
可能是由于“存在即合理”的考虑,WHATWG 组织开始制订一种“妥协式”的规范:HTML5。既然互联网上大量存在上面4种不符合规范的内容,而且制作者也从来不打算改进这些页面,因此 HTML5 干脆承认它们是符合规范的。换句话说,HTML5 是规范制订者对现实的妥协。
由于 HTML5 规范十分宽松,因此 HTML5 甚至不再提供文档类型定义(DTD)。到2008年,WHATWG 的努力终于被 W3C 认可,W3C 开始着手制定 HTML5 草案,并于2014年10月28日发布了 HTML5 规范。